package com.tcwlkj.uuService.model;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;

/**
 * Created by Administrator on 2017/10/14 0014.
 */

public class DriverDetailModel {
    private Base Base;
    private Detail Detail;
    private Info Info;
    private Last Last;
    private List<Photos> Photos;
    private Card Card;

    public DriverDetailModel.Base getBase() {
        return Base;
    }

    public void setBase(DriverDetailModel.Base base) {
        Base = base;
    }

    public DriverDetailModel.Detail getDetail() {
        return Detail;
    }

    public void setDetail(DriverDetailModel.Detail detail) {
        Detail = detail;
    }

    public DriverDetailModel.Info getInfo() {
        return Info;
    }

    public void setInfo(DriverDetailModel.Info info) {
        Info = info;
    }

    public DriverDetailModel.Last getLast() {
        return Last;
    }

    public void setLast(DriverDetailModel.Last last) {
        Last = last;
    }

    public List<DriverDetailModel.Photos> getPhotos() {
        return Photos;
    }

    public void setPhotos(List<DriverDetailModel.Photos> photos) {
        Photos = photos;
    }

    public Card getCard() {
        return Card;
    }

    public void setCard(Card card) {
        Card = card;
    }

    public static class Base {
        private String ID;//用户主键
        private String PID;//上级账户ID
        private String CityID; //所属城市
        private String AgentID;//所属代理
        private String LoginID;//登录账户（只允许修改一次）
        private String UserType;//账户类型（普通、商家、跑男，参考枚举=EType.User）
        private String UserCode;//账户编号
        private String NickName;//账户昵称
        private String Mobile;//注册手机号（用作登录）
        private String MobileValid;//手机绑定验证状态（0非，1是）
        private String ValidCode;//手机绑定验证码
        private String SmsLogin;//是否支持短信登录（0非，1是）
        private String SmsCode;//短信登录验证码（最后一次验证码）
        private String SaleID;//所属BD销售员
        private String GType;//等级类型（普通、VIP、SVIP，参考枚举=EType.Grade）
        private String Grade;//用户等级（1级、2级、3级......，参考枚举=EUser.Grade）
        private String Level;//用户层级
        private String RealName;//真实姓名（同证件姓名）
        private String IDType;//证件类型（身份证、驾驶证、护照、等等，参考基础词典=IDType）
        private String IDNumber;//证件号码
        private String Birthday;//出生日期
        private String Gender;//性别
        private int State;//账户状态（0注册、1已签约，2审核不通过，3审核通过.....，参考枚举=State.User | State.Driver）
        private String LinkNum;

        public String getLinkNum() {
            return LinkNum;
        }

        public void setLinkNum(String linkNum) {
            LinkNum = linkNum;
        }

        public String getID() {
            return ID;
        }

        public void setID(String ID) {
            this.ID = ID;
        }

        public String getPID() {
            return PID;
        }

        public void setPID(String PID) {
            this.PID = PID;
        }

        public String getCityID() {
            return CityID;
        }

        public void setCityID(String cityID) {
            CityID = cityID;
        }

        public String getAgentID() {
            return AgentID;
        }

        public void setAgentID(String agentID) {
            AgentID = agentID;
        }

        public String getLoginID() {
            return LoginID;
        }

        public void setLoginID(String loginID) {
            LoginID = loginID;
        }

        public String getUserType() {
            return UserType;
        }

        public void setUserType(String userType) {
            UserType = userType;
        }

        public String getUserCode() {
            return UserCode;
        }

        public void setUserCode(String userCode) {
            UserCode = userCode;
        }

        public String getNickName() {
            return NickName;
        }

        public void setNickName(String nickName) {
            NickName = nickName;
        }

        public String getMobile() {
            return Mobile;
        }

        public void setMobile(String mobile) {
            Mobile = mobile;
        }

        public String getMobileValid() {
            return MobileValid;
        }

        public void setMobileValid(String mobileValid) {
            MobileValid = mobileValid;
        }

        public String getValidCode() {
            return ValidCode;
        }

        public void setValidCode(String validCode) {
            ValidCode = validCode;
        }

        public String getSmsLogin() {
            return SmsLogin;
        }

        public void setSmsLogin(String smsLogin) {
            SmsLogin = smsLogin;
        }

        public String getSmsCode() {
            return SmsCode;
        }

        public void setSmsCode(String smsCode) {
            SmsCode = smsCode;
        }

        public String getGType() {
            return GType;
        }

        public void setGType(String GType) {
            this.GType = GType;
        }

        public String getSaleID() {
            return SaleID;
        }

        public void setSaleID(String saleID) {
            SaleID = saleID;
        }

        public String getGrade() {
            return Grade;
        }

        public void setGrade(String grade) {
            Grade = grade;
        }

        public String getLevel() {
            return Level;
        }

        public void setLevel(String level) {
            Level = level;
        }

        public String getRealName() {
            return RealName;
        }

        public void setRealName(String realName) {
            RealName = realName;
        }

        public String getIDType() {
            return IDType;
        }

        public void setIDType(String IDType) {
            this.IDType = IDType;
        }

        public String getIDNumber() {
            return IDNumber;
        }

        public void setIDNumber(String IDNumber) {
            this.IDNumber = IDNumber;
        }

        public String getBirthday() {
            return Birthday;
        }

        public void setBirthday(String birthday) {
            Birthday = birthday;
        }

        public String getGender() {
            return Gender;
        }

        public void setGender(String gender) {
            Gender = gender;
        }

        public int getState() {
            return State;
        }

        public void setState(int state) {
            State = state;
        }
    }

    public static class Detail {
        private String DoBalance;//账户可用余额，含余额冻结金额
        private String ActualCredit;//实际授信额度
        private String DoCredit;//授信可用余额，含授信冻结金额
        private String FrozenMoney;//冻结余额总金额
        private String FrozenCredit;//冻结授信总金额
        private String VirtualCoin;//虚拟币余额
        private String Point;//积分
        private String ExpScore;//经验值
        private String RechargeMoney;//充值总金额
        private String AwardMoney;//奖励总金额
        private String CollectMoney;//代收总金额
        private String InvoiceMoney;//开局发票总金额
        private String RedPacketMoney;//收到红包总金额
        private String RedPacketRest;//红包金额初始化天数（0不初始化）
        private String BailMoney;//保证押金
        private String PubOrderNum;//用户=发单数，跑男=抢单数
        private String PayOrderNum;//用户=支付单数，跑男=抢单成功数
        private String FinishOrderNum;//完成订单数
        private String DropOrderNum;//取消订单数
        private String OrderTimespan;//完成订单总时长（分）
        private String OrderDistance;//完成订单总距离（米）
        private String QueueTimespan;//排队订单总时长（分）
        private String Star5Level;//5星评价数（用户=发出，跑男=获得）
        private String Star4Level;//4星评价数（用户=发出，跑男=获得）
        private String Star3Level;//3星评价数（用户=发出，跑男=获得）
        private String Star2Level;//2星评价数（用户=发出，跑男=获得）
        private String Star1Level;//1星评价数（用户=发出，跑男=获得）
        private String StarLevelRate;//评价率（用户=发出，跑男=获得）
        private String RecomUser;//推荐用户总数
        private String RecomDriver;//推荐跑男总数
        private String ServiceScore;//服务积分
        private String AccountSate;//资金账户状态（0初始，1正常，-1注销，-2冻结，参考枚举=EState.Account）

        public String getDoBalance() {
            BigDecimal bd = new BigDecimal(DoBalance);
            return bd.setScale(2, RoundingMode.HALF_UP).toString();
        }

        public void setDoBalance(String doBalance) {
            DoBalance = doBalance;
        }

        public String getActualCredit() {
            return ActualCredit;
        }

        public void setActualCredit(String actualCredit) {
            ActualCredit = actualCredit;
        }

        public String getDoCredit() {
            return DoCredit;
        }

        public void setDoCredit(String doCredit) {
            DoCredit = doCredit;
        }

        public String getFrozenMoney() {
            return FrozenMoney;
        }

        public void setFrozenMoney(String frozenMoney) {
            FrozenMoney = frozenMoney;
        }

        public String getFrozenCredit() {
            return FrozenCredit;
        }

        public void setFrozenCredit(String frozenCredit) {
            FrozenCredit = frozenCredit;
        }

        public String getVirtualCoin() {
            return VirtualCoin;
        }

        public void setVirtualCoin(String virtualCoin) {
            VirtualCoin = virtualCoin;
        }

        public String getPoint() {
            return Point;
        }

        public void setPoint(String point) {
            Point = point;
        }

        public String getRechargeMoney() {
            return RechargeMoney;
        }

        public void setRechargeMoney(String rechargeMoney) {
            RechargeMoney = rechargeMoney;
        }

        public String getExpScore() {
            return ExpScore;
        }

        public void setExpScore(String expScore) {
            ExpScore = expScore;
        }

        public String getAwardMoney() {
            return AwardMoney;
        }

        public void setAwardMoney(String awardMoney) {
            AwardMoney = awardMoney;
        }

        public String getCollectMoney() {
            return CollectMoney;
        }

        public void setCollectMoney(String collectMoney) {
            CollectMoney = collectMoney;
        }

        public String getRedPacketMoney() {
            return RedPacketMoney;
        }

        public void setRedPacketMoney(String redPacketMoney) {
            RedPacketMoney = redPacketMoney;
        }

        public String getInvoiceMoney() {
            return InvoiceMoney;
        }

        public void setInvoiceMoney(String invoiceMoney) {
            InvoiceMoney = invoiceMoney;
        }

        public String getRedPacketRest() {
            return RedPacketRest;
        }

        public void setRedPacketRest(String redPacketRest) {
            RedPacketRest = redPacketRest;
        }

        public String getBailMoney() {
            return BailMoney;
        }

        public void setBailMoney(String bailMoney) {
            BailMoney = bailMoney;
        }

        public String getPubOrderNum() {
            return PubOrderNum;
        }

        public void setPubOrderNum(String pubOrderNum) {
            PubOrderNum = pubOrderNum;
        }

        public String getPayOrderNum() {
            return PayOrderNum;
        }

        public void setPayOrderNum(String payOrderNum) {
            PayOrderNum = payOrderNum;
        }

        public String getFinishOrderNum() {
            return FinishOrderNum;
        }

        public void setFinishOrderNum(String finishOrderNum) {
            FinishOrderNum = finishOrderNum;
        }

        public String getDropOrderNum() {
            return DropOrderNum;
        }

        public void setDropOrderNum(String dropOrderNum) {
            DropOrderNum = dropOrderNum;
        }

        public String getOrderTimespan() {
            return OrderTimespan;
        }

        public void setOrderTimespan(String orderTimespan) {
            OrderTimespan = orderTimespan;
        }

        public String getOrderDistance() {
            return OrderDistance;
        }

        public void setOrderDistance(String orderDistance) {
            OrderDistance = orderDistance;
        }

        public String getQueueTimespan() {
            return QueueTimespan;
        }

        public void setQueueTimespan(String queueTimespan) {
            QueueTimespan = queueTimespan;
        }

        public String getStar5Level() {
            return Star5Level;
        }

        public void setStar5Level(String star5Level) {
            Star5Level = star5Level;
        }

        public String getStar4Level() {
            return Star4Level;
        }

        public void setStar4Level(String star4Level) {
            Star4Level = star4Level;
        }

        public String getStar3Level() {
            return Star3Level;
        }

        public void setStar3Level(String star3Level) {
            Star3Level = star3Level;
        }

        public String getStar2Level() {
            return Star2Level;
        }

        public void setStar2Level(String star2Level) {
            Star2Level = star2Level;
        }

        public String getStar1Level() {
            return Star1Level;
        }

        public void setStar1Level(String star1Level) {
            Star1Level = star1Level;
        }

        public String getStarLevelRate() {
            return StarLevelRate;
        }

        public void setStarLevelRate(String starLevelRate) {
            StarLevelRate = starLevelRate;
        }

        public String getRecomUser() {
            return RecomUser;
        }

        public void setRecomUser(String recomUser) {
            RecomUser = recomUser;
        }

        public String getRecomDriver() {
            return RecomDriver;
        }

        public void setRecomDriver(String recomDriver) {
            RecomDriver = recomDriver;
        }

        public String getServiceScore() {
            return ServiceScore;
        }

        public void setServiceScore(String serviceScore) {
            ServiceScore = serviceScore;
        }

        public String getAccountSate() {
            return AccountSate;
        }

        public void setAccountSate(String accountSate) {
            AccountSate = accountSate;
        }
    }

    public static class Info {
        private String DriverType;//跑男类型（普通、优质...，参考枚举=User.SubType）
        private String TransType;//跑男配送工具（公共交通、电动车、汽车，参考基础词典=TransType）
        private String HaveHotbox;//是否有保温箱（0无，1有）
        private String NewDriver;//是否新手跑男（0非，1是）
        private String JobNature;//是否为全职（0非，1是）
        private String AllowSysSign;//是否允许接受系统强制指派（0非，1是）
        private String Upgrade;//是否自动升级等级（0非，1是）
        private String MaxOrderNum;//跑男最大接单数据（0系统默认）
        private String OrderTypes;//跑男可接单类型（实时、预约、指派，参考枚举=EType.Order）
        private String SendTypes;//跑男可配送类型（送、取、买、帮、排....，参考枚举=EOrder.Business）
        private String GoosTypes;//跑男可配送物品类型（鲜花、蛋糕、等等，参考词典管理）
        private String OrderRange;//跑男可接单范围
        private String ExamState;//跑男考试状态（0未开始、1通过、2不通过，参考枚举=State.Exam）
        private String WorkState;//跑男在线工作状态（0收工、1在线听单、11在线配送，参考枚举=State.DoWork）
        private String SubmitTime;//跑男资料提交成功时间
        private String AuditTime;//跑男资料审核通过时间
        private String SigningTime;//跑男首次签约成功时间

        public String getDriverType() {
            return DriverType;
        }

        public void setDriverType(String driverType) {
            DriverType = driverType;
        }

        public String getTransType() {
            return TransType;
        }

        public void setTransType(String transType) {
            TransType = transType;
        }

        public String getHaveHotbox() {
            return HaveHotbox;
        }

        public void setHaveHotbox(String haveHotbox) {
            HaveHotbox = haveHotbox;
        }

        public String getNewDriver() {
            return NewDriver;
        }

        public void setNewDriver(String newDriver) {
            NewDriver = newDriver;
        }

        public String getJobNature() {
            return JobNature;
        }

        public void setJobNature(String jobNature) {
            JobNature = jobNature;
        }

        public String getAllowSysSign() {
            return AllowSysSign;
        }

        public void setAllowSysSign(String allowSysSign) {
            AllowSysSign = allowSysSign;
        }

        public String getUpgrade() {
            return Upgrade;
        }

        public void setUpgrade(String upgrade) {
            Upgrade = upgrade;
        }

        public String getMaxOrderNum() {
            return MaxOrderNum;
        }

        public void setMaxOrderNum(String maxOrderNum) {
            MaxOrderNum = maxOrderNum;
        }

        public String getOrderTypes() {
            return OrderTypes;
        }

        public void setOrderTypes(String orderTypes) {
            OrderTypes = orderTypes;
        }

        public String getSendTypes() {
            return SendTypes;
        }

        public void setSendTypes(String sendTypes) {
            SendTypes = sendTypes;
        }

        public String getGoosTypes() {
            return GoosTypes;
        }

        public void setGoosTypes(String goosTypes) {
            GoosTypes = goosTypes;
        }

        public String getOrderRange() {
            return OrderRange;
        }

        public void setOrderRange(String orderRange) {
            OrderRange = orderRange;
        }

        public String getExamState() {
            return ExamState;
        }

        public void setExamState(String examState) {
            ExamState = examState;
        }

        public String getWorkState() {
            return WorkState;
        }

        public void setWorkState(String workState) {
            WorkState = workState;
        }

        public String getSubmitTime() {
            return SubmitTime;
        }

        public void setSubmitTime(String submitTime) {
            SubmitTime = submitTime;
        }

        public String getAuditTime() {
            return AuditTime;
        }

        public void setAuditTime(String auditTime) {
            AuditTime = auditTime;
        }

        public String getSigningTime() {
            return SigningTime;
        }

        public void setSigningTime(String signingTime) {
            SigningTime = signingTime;
        }
    }

    public static class Last {
        private String LoginCount;//登录次数
        private String LoginDay;//累计登录天数
        private String OnlineTime;//累计在线时长（分）
        private String SignDay;//累计签到天数
        private String JoinLoginDay;//最近连续登录天数
        private String JoinOrderDay;//最近连续接单（发单）天数
        private String JoinSignDay;//最近连续签到天数
        private String NowIncome;//今日收益
        private String NowOrderNum;//今日完成

        public String getNowIncome() {
            return NowIncome;
        }

        public void setNowIncome(String nowIncome) {
            NowIncome = nowIncome;
        }

        public String getNowOrderNum() {
            return NowOrderNum;
        }

        public void setNowOrderNum(String nowOrderNum) {
            NowOrderNum = nowOrderNum;
        }

        public String getLoginCount() {
            return LoginCount;
        }

        public void setLoginCount(String loginCount) {
            LoginCount = loginCount;
        }

        public String getLoginDay() {
            return LoginDay;
        }

        public void setLoginDay(String loginDay) {
            LoginDay = loginDay;
        }

        public String getOnlineTime() {
            return OnlineTime;
        }

        public void setOnlineTime(String onlineTime) {
            OnlineTime = onlineTime;
        }

        public String getSignDay() {
            return SignDay;
        }

        public void setSignDay(String signDay) {
            SignDay = signDay;
        }

        public String getJoinLoginDay() {
            return JoinLoginDay;
        }

        public void setJoinLoginDay(String joinLoginDay) {
            JoinLoginDay = joinLoginDay;
        }

        public String getJoinOrderDay() {
            return JoinOrderDay;
        }

        public void setJoinOrderDay(String joinOrderDay) {
            JoinOrderDay = joinOrderDay;
        }

        public String getJoinSignDay() {
            return JoinSignDay;
        }

        public void setJoinSignDay(String joinSignDay) {
            JoinSignDay = joinSignDay;
        }
    }

    public static class Photos {
        private int Type;
        private String SamllPhoto;

        public int getType() {
            return Type;
        }

        public void setType(int type) {
            Type = type;
        }

        public String getSamllPhoto() {
            return SamllPhoto;
        }

        public void setSamllPhoto(String samllPhoto) {
            SamllPhoto = samllPhoto;
        }
    }

    public static class Card {
        private String Type;//卡片类型（微信、支付宝、中行、建行、等等，参考词典管理=BankType）
        private String Name;//卡片开户名
        private String Address;//卡片开户地址
        private String Number;//卡片卡号

        public String getType() {
            return Type;
        }

        public void setType(String type) {
            Type = type;
        }

        public String getName() {
            return Name;
        }

        public void setName(String name) {
            Name = name;
        }

        public String getAddress() {
            return Address;
        }

        public void setAddress(String address) {
            Address = address;
        }

        public String getNumber() {
            return Number;
        }

        public void setNumber(String number) {
            Number = number;
        }
    }
}
